Skip to content

ci(oceanbase): allow full-server cases five minutes - #2484

Merged
frf12 merged 1 commit into
oceanbase:masterfrom
frf12:codex/oceanbase-ci-timeout
Nov 5, 2026
Merged

frf12 merged 1 commit into
oceanbase:masterfrom
frf12:codex/oceanbase-ci-timeout

Conversation

@frf12

@frf12 frf12 commented Nov 5, 2026

Copy link
Copy Markdown
Member

Which issue or RFC does this PR close?

Related to #2457 and #2469; addresses their OceanBase acceptance timeouts independently of the SeekDB sharding fix in #2458.

Rationale for this change

Full Server initialization, migration checks and fixture cleanup share a 180-second process deadline. In #2457, the concurrent-startup case reported PASSED but was terminated before cleanup completed; its database drop finished shortly after the deadline. Other successful grant-migration cases already spent 130–144 seconds in the test body, plus cleanup and process startup.

What changes are included in this PR?

  • Add a positive --test-timeout option to the isolated acceptance runner, defaulting to 180 seconds. Collection retains its separate 180-second deadline.
  • Use 300 seconds for OceanBase clean migration, background lifecycle, concurrent startup and long-query cases. Scope-search and existing SeekDB calls retain their defaults.
  • Increase the clean-migration step to 90 minutes and background lifecycle to 10 minutes. Startup and long-query steps retain 15 and 30 minutes. The job gets 180 minutes: 155 minutes of test-step budgets plus 25 minutes for setup, diagnostics and uploads.
  • Preserve fail-on-timeout, complete JUnit validation, no skips and no retries, including when assertions pass before cleanup times out.

Are there any user-facing changes?

CI execution budgets only. No runtime, API or database-format changes.

How was this change tested?

  • New CLI and cleanup-deadline regressions failed before implementation. Real subprocess tests exercise GNU timeout with synthetic pytest cases, including collection independence and cleanup timeout after PASSED.
  • pytest tests/test_atomic_memory_migration_shards.py tests/test_check_atomic_memory_migration_shards.py tests/test_ci_changes.py tests/test_ci_pipeline.py -q: 171 passed. After increasing the synthetic timing margins, all 24 runner tests passed again.
  • make check, uv run prek run -a, and git diff --check: passed.
  • Actual OceanBase test collection confirms 47 clean-migration cases (at most 16 per shard), 1 background case, 3 startup cases and 8 long-query cases. Including collection and termination grace, the largest step needs at most 85.83 minutes within its 90-minute budget.
  • Independent review found no blocking issues. Local validation covers runner behavior and budget calculations; real OceanBase execution remains a GitHub CI acceptance check.

AI usage statement

OpenAI Codex assisted with diagnosis, implementation, tests and independent review.

@Zxf-xufeng Zxf-xufeng left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@frf12
frf12 merged commit 2772b2a into oceanbase:master Nov 5, 2026
47 checks passed
@hidb4ai hidb4ai added the 1.5.1 v1.5.1 release tracking label Nov 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

1.5.1 v1.5.1 release tracking

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants